package com.yxy.chatserver.util;

import com.yxy.chatserver.exception.BaseException;
import lombok.extern.slf4j.Slf4j;

/**
 * 错误信息工具类
 */
@Slf4j
public class ErrorMsgUtil {

    /**
     * 错误信息打印
     * @param ex 错误信息
     */
    public static<T extends Throwable> void ErrorMsg(T ex) {
        // 获取堆栈跟踪的第一个元素（最可能出错的地方）
        StackTraceElement[] stackTrace = ex.getStackTrace();
        if (stackTrace.length > 0) {
            StackTraceElement firstElement = stackTrace[0];
            String errorLocation = String.format("类: %s, 方法: %s, 行数: %d",
                    firstElement.getClassName(),
                    firstElement.getMethodName(),
                    firstElement.getLineNumber());
            log.error("错误位置：{}", errorLocation);
        }
    }
}
